//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/.
// 			VisualNovelToolkit		     /_/_/_/_/_/_/_/_/_/.
// Copyright ©2013 - Sol-tribe.	/_/_/_/_/_/_/_/_/_/.
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/.
using System;
using UnityEngine;

/// <summary>
/// Opcode Table.
/// </summary>
public class Opcode {			
	// BASE.
    public const 	byte STRING = 5;	// load string .
    public const 	byte TABLE = 6;     // load table.
    public const	byte FUNC = 7;		// OBSOLETE.
	public const	byte MESSAGING = 8;   
    public const	byte RETURN = 10; 
	public const	byte WAIT_TOUCH = 11;	// Wait.
    public const	byte TEXT = 13;      // load text.
	public const	byte ATTACH = 14;	// attach object
	public const	byte VAR = 17;			// Variable Literal.	
	public const	byte NULL = 21;		// if this , pc is incremented.
	public const	byte DEBUG_LOG = 22;			// Variable Literal.	
	public const	byte ITWEEN = 23;			// ITWEEN.
	
	public const	byte IF =25;		
	public const	byte NODE = 26;		// ViNode Mark in byte codes.
	public const	byte JUMP = 27;		// Jump to Another node.
	
	// Message.
	public const	byte PRINT = 29;
	public const	byte CM = 30;
	public const	byte BR = 31;
	public const	byte CURRENT = 32;
	public const	byte SET_TEXT = 33;
	public const	byte HIDE_MESSAGE = 34;
	public const	byte ER = 35;

	// System.
	public const	byte START_WAIT = 40;
	public const	byte UPDATE_WAIT = 41;
	public const	byte STOP = 42;
	public const	byte SHOW_MENU = 43;
	public const	byte HIDE_MENU = 44;

	public const	byte END = 49;			// End of the ScenarioNode.

	// Sound.
	public const	byte PLAY_SOUND	= 50;
	public const	byte STOP_SOUND	= 51;
	public const	byte STOP_VOICE	= 52;
	
	public const	byte PLAY_AUDIO_FROM_RESOURCE = 53;

	// Layer.
	public const	byte LAYOPT = 60;
	public const	byte TRANSFORM = 61;

	// Util.
	public const	byte FLAG_ON = 80;
	public const	byte FLAG_OFF = 81;
	public const	byte LOAD_RESOURCE = 82;
	public const	byte INSTANTIATE_AS_GAMEOBJECT = 83;
	public const	byte SELECTIONS = 84;
	public const	byte LINK = 85;
	public const	byte PLAY_SCENARIO		= 86;
	public const	byte DESTROY_OBJECT = 87;

	// Scene.
	public const	byte LOAD_SCENE =90;
	public const	byte CLEAR_SCENE =91;
	public const	byte SCENE_NODE = 92;

	// Effets.
	public const	byte PLAY_ANIMATION		= 100;
	public const	byte BEGIN_TRANSITION	= 101;
	public const	byte END_TRANSITION		= 102;

	public const  byte ADD = 113;      // add
    public const  byte SUB = 114;      // subtract
    public const  byte MUL = 115;      // multiply
    public const  byte DIV = 116;      // divide
    public const  byte REM = 117;      // remainder
    public const  byte EQUAL = 118;    // equal
    public const  byte MORE = 119;     // more than
    public const  byte LESS = 120;     // less than
    public const  byte ASSIGN_STRING = 121;     // operator =.
    public const  byte SET_LEFT_HAND = 122; 
    public const  byte SET_RIGHT_HAND = 123; 
}
